package com.edu.learning.singleton;

/**
 * 饿汉模式单例类（推荐写法）
 *
 * enum Singleton不过是class Singleton的语法糖而已。
 * 在JVM看来，枚举类型不过就是java.lang.Enum类的子类。
 * 这个类的static code里说明了在加载Singleton类的时候，就要把instance初始化完成。
 * 这仍然利用了类加载器是线程安全的这一特性。
 *
 * @author ll
 * @Date 2017/11/15 10:38
 */
public class EnumSingleton {
    public static void main(String[] args) {
        SingletonEnum.INSTANCE.sayHello();
    }
}

enum SingletonEnum {
    INSTANCE;

    public void sayHello() {
        System.out.println("hello");
    }
}

